#pragma once

#include "VertexIndexSupport.h"

class ObjFace
{
public:
	/**
	* Creates a new ObjFace object.
	*/
	ObjFace(VertexIndexSupport* v1, VertexIndexSupport* v2, VertexIndexSupport* v3);
	/**
	* Deletes the ObjFace object.
	*/
	virtual ~ObjFace(void);
	unsigned short GetV1Index()
        {
            return m_v1->GetIdInVertexBuffer();
        }

        unsigned short GetV2Index()
        {
            return m_v2->GetIdInVertexBuffer();
        }

        unsigned int GetV3Index()
        {
            return m_v3->GetIdInVertexBuffer();
        }


private:
	VertexIndexSupport* m_v1;
	VertexIndexSupport* m_v2;
	VertexIndexSupport* m_v3;
	// -------------------------
	// Disabling default copy constructor and default assignment operator.
	// If you get a linker error from one of these functions, your class is internally trying to use them. This is
	// an error in your class, these declarations are deliberately made without implementation because they should never be used.
	// -------------------------
	ObjFace(const ObjFace& t);
	ObjFace& operator=(const ObjFace& t);
};

